1. Field of the Invention
The present invention relates to a storage control apparatus, a storage system, and a virtual volume control method.
2. Description of the Related Art
In order to handle large quantities of data of multiple types at government agencies, enterprises, and educational establishments, for example, data are managed using a relatively large-scale storage system. This storage system comprises at least one storage control apparatus. The storage control apparatus comprises a multiplicity of storage devices, for example, and is able to provide a RAID (Redundant Array of Inexpensive Disks)-based storage area. At least one or more logical devices (also known as logical volumes) are formed in a physical storage area that is provided by a storage device group. A host computer (‘host’ hereinbelow) carries out the writing of data and the reading of data by issuing write commands and read commands to the logical devices.
A technology that dynamically assigns a real storage area to a virtual volume in accordance with a write command (write access) from a host is known (Japanese Application Laid Open No. 2003-15915). In this conventional technology, in cases where the host writes data to a virtual volume, a real storage area is assigned to an area which is designated as the write destination. Therefore, even when the apparent storage capacity of the virtual volume is large, the storage capacity that is actually required is the total value of the areas used by the host. The real capacity of a virtual volume is the total value of the real storage area assigned to the virtual volume. In this conventional technology, the real capacity of the virtual volume can be variably adjusted in accordance with the state of usage of the virtual volume by the host.
The present applicant has disclosed a technology for efficiently backing up data of the virtual volume in the specification of Patent Application No. 2007-013384. However, the specification of Patent Application No. 2007-013384 has not yet been published and does not apply to conventional technology.
The real storage area assigned to the virtual volume is managed by the storage area management table and, therefore, in cases where the storage area management table fails, it is no longer possible to input and output data to and from the virtual volume.
Hence, some manner of protection of the storage area management table is essential from the perspective of the reliability of the storage control apparatus. For example, saving the storage area management table in a duplicated memory or backing up the involatile memory by means of a battery may be considered. However, with respect to the method of saving the storage area management table only in the memory in the controller, it cannot be said that the protection is adequate. In cases where a fault is generated in one of the duplicate memories or where an anomaly is produced in the battery, the redundancy of the protection of the storage area management table has failed.
Therefore, a method of writing the storage area management table to the storage area (real storage area) of the storage device may be considered. However, the timing of writing and saving the storage area management table in the storage device and the timing of writing the user data (write data) written to the virtual volume to the storage device do not necessarily match one another.
In particular, in cases where a storage device that exists outside the storage control apparatus is employed, the de-staging processing for the storage area management table and the de-staging processing for the write data are executed asynchronously. De-staging processing is processing to write data in the cache memory to a storage area of the storage device. Staging processing is, conversely, processing to read data from the storage area of the storage device and store the data in the cache memory.
Because the de-staging processing for the storage area management table and the de-staging processing for the write data are executed asynchronously, the probability that the two types of de-staging processing will no longer conform may be considered. For example, a case where the de-staging processing for the write data is executed first and then the de-staging processing for the storage area management table is carried out is assumed. Although the de-staging processing for the write data ends normally, in cases where the de-staging processing for the storage area management table has not ended normally for whatever reason, the content of the storage area management table and the storage state of the write data no longer conform.
Because the storage area management table has not been updated, the content remains old. Therefore, in cases where a new write command has been issued, there is a possibility that a real storage area in which the write data have already been written will be used for a new write command. When a real storage area that has already been used is used to process another write command, the write data stored in the real storage area are lost.
In cases where a read command is issued, the content of the storage area management table remains old and, therefore, irrespective of whether data have actually been stored in the real storage area of the storage device, it is judged that there are no data. Therefore, the storage control apparatus returns data “0” to the origin of the read command.
Thus, maintaining a more sufficient degree of protection for the storage area management table and maintaining conformity between the storage area management table and the data stored in the real storage area are an important problem for the storage control apparatus which provides the virtual volume.
Further, storage of a copy of the data managed by the storage control apparatus in a backup device is also performed. Here, for example, a case where a backup source storage control apparatus and a backup destination storage control apparatus each comprise a function for generating a virtual volume and a normal volume backup of the whole of the virtual volume is made is assumed.
In this case, because a backup of the whole of the virtual volume identified by the host is made, real capacity of the same size as the virtual capacity of the virtual volume of the backup source virtual volume is used by the backup destination storage control apparatus. This is because a real storage area has also been assigned to an unused area in the backup source virtual volume.
Therefore, the advantage of a virtual volume that allows only the required real storage area to be used as required by the backup destination storage control apparatus is lost and the storage area cannot be used efficiently.